package com.sky.loveshop.service;

import com.github.pagehelper.PageInfo;
import com.sky.loveshop.api.MeiTuanOrderRequest;
import com.sky.loveshop.entity.MeiTuanOrder;
import com.sky.loveshop.entity.exception.BizException;
import com.sky.loveshop.entity.meiTuan.*;
import com.sky.loveshop.entity.qo.MtOrderInfoQO;
import com.sky.loveshop.entity.vo.MeiTuanOrderVO;
import com.sky.loveshop.entity.vo.SkuVO;

import java.util.List;

/**
 * @author xcy
 * @version V1.0
 * @description
 * @date 2024/9/2 23:37
 */
public interface MtService {

    void getMtOrderAndInsert(Integer storeId);

    MtOrderPullResponse getMtOrderInfoListByStoreId(Integer storeId, Integer deliverStatus);

    List<MtOrder> getMtOrderList(MtOrderInfoQO qo);

    PageInfo<MeiTuanOrder> listMtOrderPages(MtOrderInfoQO qo);

    PageInfo<MeiTuanOrderVO> listAllMtOrderPages(MtOrderInfoQO qo);

    List<MtOrderDetail> getMtOrderDetailsById(Integer id);

    SkuVO getSkuDetailByBarCode(String barCode, Integer shopId) throws BizException;

    Integer dealMtOrder(Integer id);

    MtOrderCreateResponse createMtOrder(MeiTuanOrderRequest.CreateOrderRequest request);

    MtStoreCreateResponse createStore();

    MeiTuanOrder getMeiTuanOrderByOrderCode(String orderCode, Integer storeId);

    MeiTuanOrder getMeiTuanOrderByPhoneCode(String phoneCode, Integer storeId);

    Integer markBrushFlag(Integer id);

    MtOrderPullDeliverRecordsResponse pullDeliverRecordsByPlatformOrderId(String platformOrderId);
}
